package com.taiji.dianthus.common;

/**
 * @author h.m
 * @Desc 接口返回代码描述枚举
 */
public enum ResultCodeEnum {

    //成功
    SUCCESS("000", "成功"),
    //添加重复组织
    CREATE_DUPLICATE_ORG("101", "添加重复组织"),
    //增加组织的上级节点不存在
    CREATE_ORG_NO_PARENT("102", "增加组织的上级节点不存在"),
    //增加组织时同级组织名称重复
    CREATE_DUPLICATE_ORG_NAME("103", "增加组织时同级组织名称重复"),
    //组织唯一标识对应的组织不存在
    DELETE_ORG_NO_EXIST("201", "删除的组织不存在"),
    //删除的组织下存在子组织
    DELETE_ORG_HAS_CHILD("202", "删除的组织下存在子组织"),
    //删除的组织下存在用户
    DELETE_ORG_HAS_USER("203", "删除的组织下存在用户"),
    //修改组织的上级节点不存在
    UPDATE_ORG_NO_EXIST("301", "修改组织的不存在"),
    //修改组织的上级节点不存在
    UPDATE_ORG_NO_PARENT("302", "修改组织的上级节点不存在"),
    //修改组织时同级组织名称重复
    UPDATE_DUPLICATE_ORG_NAME("303", "修改组织时同级组织名称重复"),

    //增加用户唯一标识重复
    CREATE_DUPLICATE_USER("401", "增加用户唯一标识重复"),
    //增加用户的组织标识编号不存在
    CREATE_USER_NO_ORG("402", "增加用户的组织不存在"),
    //编辑的用户不存在
    UPDATE_USER_NO_EXIST("501", "编辑的用户不存在"),
    //编辑用户的组织标识编号不存在
    UPDATE_USER_NO_ORG("502", "编辑的用户的组织不存在"),
    //删除用户唯一标识对应的用户不存在
    DELETE_USER_NO_EXIST("601", "删除的用户不存在"),

    //格式错误
    FORMAT_ERROR("1001", "格式错误"),
    //其他错误
    OTHER_ERROR("1002", "其他错误"),
    //
    DATA_NULL("1003", "推送的数据为空"),
    //短信发送返回参数
    ILLEGAL_MAC("IllegalMac", "mac校验不通过"),
    ILLEGAL_SIGNID("IllegalSignId", "无效的签名编码"),
    INVALID_MESSAGE("InvalidMessage", "非法消息，请求数据解析失败"),
    INVALID_USER_OR_PWD("InvalidUsrOrPwd", "非法用户名/密码"),
    NO_SIGN_ID("NoSignId", "未匹配到对应的签名信息"),
    TOO_MANY_MOBILES("TooManyMobiles", "手机号数量超限（>5000），应≤5000"),
    ConnectFalse("ConnectFalse", "运营商地址拒绝连接"),;

    private String code;
    private String msg;

    ResultCodeEnum(String code, String msg) {
        this.code = code;
        this.msg = msg;
    }

    /**
     * 根据代码获取代码描述信息
     *
     * @param code
     * @return
     */
    public String getResultMsg(String code) {
        ResultCodeEnum[] codeEnums = values();
        for (ResultCodeEnum resultCodeEnum : codeEnums) {
            if (resultCodeEnum.getCode().equals(code)) {
                return resultCodeEnum.getMsg();
            }
        }
        return null;
    }

    public String getCode() {
        return code;
    }

    public void setCode(String code) {
        this.code = code;
    }

    public String getMsg() {
        return msg;
    }

    public void setMsg(String msg) {
        this.msg = msg;
    }
}
